import click
from flask.cli import with_appcontext


@click.command("init")
@with_appcontext
def init():
    """Create a new admin user"""
    from applications.extensions import db
    # from applications.models import User

    click.echo("create user")
    # user = User(username="admin", email="1107847724@qq.com", password="admin123", active=True)
    # db.session.add(user)
    # db.session.commit()
    click.echo("created user admin")
    # sys_user用户数据填充
    from datetime import datetime
    from applications.system.models import SysUser
    from applications.system.models import SysRole
    from applications.system.models import SysPost
    from applications.system.models import SysDept
    from applications.system.models import SysMenu
    from applications.system.models import SysConfig
    from applications.system.models import SysDictDatum
    from applications.system.models import SysDictType
    from applications.system.models import SysRoleDept
    from applications.system.models import SysRoleMenu
    from applications.system.models import SysUserPost
    from applications.system.models import SysUserRole
    from applications.system.models import SysNotice

    # res = SysNotice.query.all()
    # from pprint import pprint
    # pprint([item.to_dict() for item in res])
    click.echo("create SysNotice")
    init_sys_notice_data = [{'create_by': 'admin',
                             'notice_content': "",
                             'notice_id': 1,
                             'notice_title': '温馨提醒：新版本发布啦',
                             'notice_type': '2',
                             'remark': '管理员',
                             'status': '0',
                             'update_by': ''},
                            {'create_by': 'admin',
                             'notice_content': "",
                             'notice_id': 2,
                             'notice_title': '维护通知：2018-07-01 系统凌晨维护',
                             'notice_type': '1',
                             'remark': '管理员',
                             'status': '0',
                             'update_by': ''}]
    db.session.add_all([SysNotice(**item) for item in init_sys_notice_data])
    click.echo("created SysNotice Success")
    click.echo("create SysUserRole")
    init_sys_user_role = [{'role_id': 1, 'user_id': 1}, {'role_id': 2, 'user_id': 2}]
    db.session.add_all([SysUserRole(**item) for item in init_sys_user_role])
    click.echo("created SysUserRole Success")

    click.echo("create SysUserPost")
    init_sys_user_post = [{'post_id': 1, 'user_id': 1}, {'post_id': 2, 'user_id': 2}]
    db.session.add_all([SysUserPost(**item) for item in init_sys_user_post])
    click.echo("created SysUserPost Success")
    click.echo("create SysRoleMenu")
    init_sys_role_menu = [{'menu_id': 1, 'role_id': 2},
                          {'menu_id': 2, 'role_id': 2},
                          {'menu_id': 3, 'role_id': 2},
                          {'menu_id': 4, 'role_id': 2},
                          {'menu_id': 100, 'role_id': 2},
                          {'menu_id': 101, 'role_id': 2},
                          {'menu_id': 102, 'role_id': 2},
                          {'menu_id': 103, 'role_id': 2},
                          {'menu_id': 104, 'role_id': 2},
                          {'menu_id': 105, 'role_id': 2},
                          {'menu_id': 106, 'role_id': 2},
                          {'menu_id': 107, 'role_id': 2},
                          {'menu_id': 108, 'role_id': 2},
                          {'menu_id': 109, 'role_id': 2},
                          {'menu_id': 110, 'role_id': 2},
                          {'menu_id': 111, 'role_id': 2},
                          {'menu_id': 112, 'role_id': 2},
                          {'menu_id': 113, 'role_id': 2},
                          {'menu_id': 114, 'role_id': 2},
                          {'menu_id': 115, 'role_id': 2},
                          {'menu_id': 116, 'role_id': 2},
                          {'menu_id': 500, 'role_id': 2},
                          {'menu_id': 501, 'role_id': 2},
                          {'menu_id': 1000, 'role_id': 2},
                          {'menu_id': 1001, 'role_id': 2},
                          {'menu_id': 1002, 'role_id': 2},
                          {'menu_id': 1003, 'role_id': 2},
                          {'menu_id': 1004, 'role_id': 2},
                          {'menu_id': 1005, 'role_id': 2},
                          {'menu_id': 1006, 'role_id': 2},
                          {'menu_id': 1007, 'role_id': 2},
                          {'menu_id': 1008, 'role_id': 2},
                          {'menu_id': 1009, 'role_id': 2},
                          {'menu_id': 1010, 'role_id': 2},
                          {'menu_id': 1011, 'role_id': 2},
                          {'menu_id': 1012, 'role_id': 2},
                          {'menu_id': 1013, 'role_id': 2},
                          {'menu_id': 1014, 'role_id': 2},
                          {'menu_id': 1015, 'role_id': 2},
                          {'menu_id': 1016, 'role_id': 2},
                          {'menu_id': 1017, 'role_id': 2},
                          {'menu_id': 1018, 'role_id': 2},
                          {'menu_id': 1019, 'role_id': 2},
                          {'menu_id': 1020, 'role_id': 2},
                          {'menu_id': 1021, 'role_id': 2},
                          {'menu_id': 1022, 'role_id': 2},
                          {'menu_id': 1023, 'role_id': 2},
                          {'menu_id': 1024, 'role_id': 2},
                          {'menu_id': 1025, 'role_id': 2},
                          {'menu_id': 1026, 'role_id': 2},
                          {'menu_id': 1027, 'role_id': 2},
                          {'menu_id': 1028, 'role_id': 2},
                          {'menu_id': 1029, 'role_id': 2},
                          {'menu_id': 1030, 'role_id': 2},
                          {'menu_id': 1031, 'role_id': 2},
                          {'menu_id': 1032, 'role_id': 2},
                          {'menu_id': 1033, 'role_id': 2},
                          {'menu_id': 1034, 'role_id': 2},
                          {'menu_id': 1035, 'role_id': 2},
                          {'menu_id': 1036, 'role_id': 2},
                          {'menu_id': 1037, 'role_id': 2},
                          {'menu_id': 1038, 'role_id': 2},
                          {'menu_id': 1039, 'role_id': 2},
                          {'menu_id': 1040, 'role_id': 2},
                          {'menu_id': 1041, 'role_id': 2},
                          {'menu_id': 1042, 'role_id': 2},
                          {'menu_id': 1043, 'role_id': 2},
                          {'menu_id': 1044, 'role_id': 2},
                          {'menu_id': 1045, 'role_id': 2},
                          {'menu_id': 1046, 'role_id': 2},
                          {'menu_id': 1047, 'role_id': 2},
                          {'menu_id': 1048, 'role_id': 2},
                          {'menu_id': 1049, 'role_id': 2},
                          {'menu_id': 1050, 'role_id': 2},
                          {'menu_id': 1051, 'role_id': 2},
                          {'menu_id': 1052, 'role_id': 2},
                          {'menu_id': 1053, 'role_id': 2},
                          {'menu_id': 1054, 'role_id': 2},
                          {'menu_id': 1055, 'role_id': 2},
                          {'menu_id': 1056, 'role_id': 2},
                          {'menu_id': 1057, 'role_id': 2},
                          {'menu_id': 1058, 'role_id': 2},
                          {'menu_id': 1059, 'role_id': 2},
                          {'menu_id': 1060, 'role_id': 2}]
    db.session.add_all([SysRoleMenu(**item) for item in init_sys_role_menu])
    click.echo("created SysRoleMenu Success")

    click.echo("create SysRoleDept")
    init_sys_role_dept = [
        {'dept_id': 100, 'role_id': 2},
        {'dept_id': 101, 'role_id': 2},
        {'dept_id': 105, 'role_id': 2}
    ]
    db.session.add_all([SysRoleDept(**item) for item in init_sys_role_dept])
    click.echo("created SysRoleDept Success")

    click.echo("create SysDictType")
    init_sys_dict_type = [{'create_by': 'admin',
                           'dict_id': 1,
                           'dict_name': '用户性别',
                           'dict_type': 'sys_user_sex',
                           'remark': '用户性别列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 2,
                           'dict_name': '菜单状态',
                           'dict_type': 'sys_show_hide',
                           'remark': '菜单状态列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 3,
                           'dict_name': '系统开关',
                           'dict_type': 'sys_normal_disable',
                           'remark': '系统开关列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 4,
                           'dict_name': '任务状态',
                           'dict_type': 'sys_job_status',
                           'remark': '任务状态列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 5,
                           'dict_name': '任务分组',
                           'dict_type': 'sys_job_group',
                           'remark': '任务分组列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 6,
                           'dict_name': '系统是否',
                           'dict_type': 'sys_yes_no',
                           'remark': '系统是否列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 7,
                           'dict_name': '通知类型',
                           'dict_type': 'sys_notice_type',
                           'remark': '通知类型列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 8,
                           'dict_name': '通知状态',
                           'dict_type': 'sys_notice_status',
                           'remark': '通知状态列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 9,
                           'dict_name': '操作类型',
                           'dict_type': 'sys_oper_type',
                           'remark': '操作类型列表',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'dict_id': 10,
                           'dict_name': '系统状态',
                           'dict_type': 'sys_common_status',
                           'remark': '登录状态列表',
                           'status': '0',
                           'update_by': ''}]
    db.session.add_all([SysDictType(**item) for item in init_sys_dict_type])
    click.echo("created SysDictType Success")

    click.echo("create SysDictDatum")
    init_sys_dict_data = [{'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 1,
                           'dict_label': '男',
                           'dict_sort': 1,
                           'dict_type': 'sys_user_sex',
                           'dict_value': '0',
                           'is_default': 'Y',
                           'list_class': '',
                           'remark': '性别男',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 2,
                           'dict_label': '女',
                           'dict_sort': 2,
                           'dict_type': 'sys_user_sex',
                           'dict_value': '1',
                           'is_default': 'N',
                           'list_class': '',
                           'remark': '性别女',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 3,
                           'dict_label': '未知',
                           'dict_sort': 3,
                           'dict_type': 'sys_user_sex',
                           'dict_value': '2',
                           'is_default': 'N',
                           'list_class': '',
                           'remark': '性别未知',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 4,
                           'dict_label': '显示',
                           'dict_sort': 1,
                           'dict_type': 'sys_show_hide',
                           'dict_value': '0',
                           'is_default': 'Y',
                           'list_class': 'primary',
                           'remark': '显示菜单',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 5,
                           'dict_label': '隐藏',
                           'dict_sort': 2,
                           'dict_type': 'sys_show_hide',
                           'dict_value': '1',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '隐藏菜单',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 6,
                           'dict_label': '正常',
                           'dict_sort': 1,
                           'dict_type': 'sys_normal_disable',
                           'dict_value': '0',
                           'is_default': 'Y',
                           'list_class': 'primary',
                           'remark': '正常状态',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 7,
                           'dict_label': '停用',
                           'dict_sort': 2,
                           'dict_type': 'sys_normal_disable',
                           'dict_value': '1',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '停用状态',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 8,
                           'dict_label': '正常',
                           'dict_sort': 1,
                           'dict_type': 'sys_job_status',
                           'dict_value': '0',
                           'is_default': 'Y',
                           'list_class': 'primary',
                           'remark': '正常状态',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 9,
                           'dict_label': '暂停',
                           'dict_sort': 2,
                           'dict_type': 'sys_job_status',
                           'dict_value': '1',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '停用状态',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 10,
                           'dict_label': '默认',
                           'dict_sort': 1,
                           'dict_type': 'sys_job_group',
                           'dict_value': 'DEFAULT',
                           'is_default': 'Y',
                           'list_class': '',
                           'remark': '默认分组',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 11,
                           'dict_label': '系统',
                           'dict_sort': 2,
                           'dict_type': 'sys_job_group',
                           'dict_value': 'SYSTEM',
                           'is_default': 'N',
                           'list_class': '',
                           'remark': '系统分组',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 12,
                           'dict_label': '是',
                           'dict_sort': 1,
                           'dict_type': 'sys_yes_no',
                           'dict_value': 'Y',
                           'is_default': 'Y',
                           'list_class': 'primary',
                           'remark': '系统默认是',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 13,
                           'dict_label': '否',
                           'dict_sort': 2,
                           'dict_type': 'sys_yes_no',
                           'dict_value': 'N',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '系统默认否',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 14,
                           'dict_label': '通知',
                           'dict_sort': 1,
                           'dict_type': 'sys_notice_type',
                           'dict_value': '1',
                           'is_default': 'Y',
                           'list_class': 'warning',
                           'remark': '通知',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 15,
                           'dict_label': '公告',
                           'dict_sort': 2,
                           'dict_type': 'sys_notice_type',
                           'dict_value': '2',
                           'is_default': 'N',
                           'list_class': 'success',
                           'remark': '公告',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 16,
                           'dict_label': '正常',
                           'dict_sort': 1,
                           'dict_type': 'sys_notice_status',
                           'dict_value': '0',
                           'is_default': 'Y',
                           'list_class': 'primary',
                           'remark': '正常状态',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 17,
                           'dict_label': '关闭',
                           'dict_sort': 2,
                           'dict_type': 'sys_notice_status',
                           'dict_value': '1',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '关闭状态',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 18,
                           'dict_label': '新增',
                           'dict_sort': 1,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '1',
                           'is_default': 'N',
                           'list_class': 'info',
                           'remark': '新增操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 19,
                           'dict_label': '修改',
                           'dict_sort': 2,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '2',
                           'is_default': 'N',
                           'list_class': 'info',
                           'remark': '修改操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 20,
                           'dict_label': '删除',
                           'dict_sort': 3,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '3',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '删除操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 21,
                           'dict_label': '授权',
                           'dict_sort': 4,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '4',
                           'is_default': 'N',
                           'list_class': 'primary',
                           'remark': '授权操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 22,
                           'dict_label': '导出',
                           'dict_sort': 5,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '5',
                           'is_default': 'N',
                           'list_class': 'warning',
                           'remark': '导出操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 23,
                           'dict_label': '导入',
                           'dict_sort': 6,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '6',
                           'is_default': 'N',
                           'list_class': 'warning',
                           'remark': '导入操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 24,
                           'dict_label': '强退',
                           'dict_sort': 7,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '7',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '强退操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 25,
                           'dict_label': '生成代码',
                           'dict_sort': 8,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '8',
                           'is_default': 'N',
                           'list_class': 'warning',
                           'remark': '生成操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 26,
                           'dict_label': '清空数据',
                           'dict_sort': 9,
                           'dict_type': 'sys_oper_type',
                           'dict_value': '9',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '清空操作',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 27,
                           'dict_label': '成功',
                           'dict_sort': 1,
                           'dict_type': 'sys_common_status',
                           'dict_value': '0',
                           'is_default': 'N',
                           'list_class': 'primary',
                           'remark': '正常状态',
                           'status': '0',
                           'update_by': ''},
                          {'create_by': 'admin',
                           'css_class': '',
                           'dict_code': 28,
                           'dict_label': '失败',
                           'dict_sort': 2,
                           'dict_type': 'sys_common_status',
                           'dict_value': '1',
                           'is_default': 'N',
                           'list_class': 'danger',
                           'remark': '停用状态',
                           'status': '0',
                           'update_by': ''}]
    db.session.add_all([SysDictDatum(**item) for item in init_sys_dict_data])

    click.echo("created SysDictDatum Success")

    click.echo("create SysConfig")

    init_sys_config_data = [{'config_id': 1,
                             'config_key': 'sys.index.skinName',
                             'config_name': '主框架页-默认皮肤样式名称',
                             'config_type': 'Y',
                             'config_value': 'skin-blue',
                             'create_by': 'admin',
                             'remark': '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 '
                                       'skin-yellow',
                             'update_by': ''},
                            {'config_id': 2,
                             'config_key': 'sys.user.initPassword',
                             'config_name': '用户管理-账号初始密码',
                             'config_type': 'Y',
                             'config_value': '123456',
                             'create_by': 'admin',
                             'remark': '初始化密码 123456',
                             'update_by': ''},
                            {'config_id': 3,
                             'config_key': 'sys.index.sideTheme',
                             'config_name': '主框架页-侧边栏主题',
                             'config_type': 'Y',
                             'config_value': 'theme-dark',
                             'create_by': 'admin',
                             'remark': '深色主题theme-dark，浅色主题theme-light',
                             'update_by': ''},
                            {'config_id': 4,
                             'config_key': 'sys.account.captchaOnOff',
                             'config_name': '账号自助-验证码开关',
                             'config_type': 'Y',
                             'config_value': 'true',
                             'create_by': 'admin',
                             'remark': '是否开启验证码功能（true开启，false关闭）',
                             'update_by': ''},
                            {'config_id': 5,
                             'config_key': 'sys.account.registerUser',
                             'config_name': '账号自助-是否开启用户注册功能',
                             'config_type': 'Y',
                             'config_value': 'false',
                             'create_by': 'admin',
                             'remark': '是否开启注册用户功能（true开启，false关闭）',
                             'update_by': ''}]
    db.session.add_all([SysConfig(**item) for item in init_sys_config_data])
    click.echo("created SysConfig Success")

    click.echo("create SysMenu")
    init_menu_data = [{'component': None,
                       'create_by': 'admin',
                       'icon': 'system',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1,
                       'menu_name': '系统管理',
                       'menu_type': 'M',
                       'order_num': 1,
                       'parent_id': 0,
                       'path': 'system',
                       'perms': '',
                       'remark': '系统管理目录',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': None,
                       'create_by': 'admin',
                       'icon': 'monitor',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 2,
                       'menu_name': '系统监控',
                       'menu_type': 'M',
                       'order_num': 2,
                       'parent_id': 0,
                       'path': 'monitor',
                       'perms': '',
                       'remark': '系统监控目录',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': None,
                       'create_by': 'admin',
                       'icon': 'tool',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 3,
                       'menu_name': '系统工具',
                       'menu_type': 'M',
                       'order_num': 3,
                       'parent_id': 0,
                       'path': 'tool',
                       'perms': '',
                       'remark': '系统工具目录',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': None,
                       'create_by': 'admin',
                       'icon': 'guide',
                       'is_cache': 0,
                       'is_frame': 0,
                       'menu_id': 4,
                       'menu_name': '官网',
                       'menu_type': 'M',
                       'order_num': 4,
                       'parent_id': 0,
                       'path': 'http://wwwfff.top',
                       'perms': '',
                       'remark': '官网地址',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/user/index',
                       'create_by': 'admin',
                       'icon': 'user',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 100,
                       'menu_name': '用户管理',
                       'menu_type': 'C',
                       'order_num': 1,
                       'parent_id': 1,
                       'path': 'user',
                       'perms': 'system:user:list',
                       'remark': '用户管理菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/role/index',
                       'create_by': 'admin',
                       'icon': 'peoples',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 101,
                       'menu_name': '角色管理',
                       'menu_type': 'C',
                       'order_num': 2,
                       'parent_id': 1,
                       'path': 'role',
                       'perms': 'system:role:list',
                       'remark': '角色管理菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/menu/index',
                       'create_by': 'admin',
                       'icon': 'tree-table',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 102,
                       'menu_name': '菜单管理',
                       'menu_type': 'C',
                       'order_num': 3,
                       'parent_id': 1,
                       'path': 'menu',
                       'perms': 'system:menu:list',
                       'remark': '菜单管理菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/dept/index',
                       'create_by': 'admin',
                       'icon': 'tree',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 103,
                       'menu_name': '部门管理',
                       'menu_type': 'C',
                       'order_num': 4,
                       'parent_id': 1,
                       'path': 'dept',
                       'perms': 'system:dept:list',
                       'remark': '部门管理菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/post/index',
                       'create_by': 'admin',
                       'icon': 'post',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 104,
                       'menu_name': '岗位管理',
                       'menu_type': 'C',
                       'order_num': 5,
                       'parent_id': 1,
                       'path': 'post',
                       'perms': 'system:post:list',
                       'remark': '岗位管理菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/dict/index',
                       'create_by': 'admin',
                       'icon': 'dict',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 105,
                       'menu_name': '字典管理',
                       'menu_type': 'C',
                       'order_num': 6,
                       'parent_id': 1,
                       'path': 'dict',
                       'perms': 'system:dict:list',
                       'remark': '字典管理菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/config/index',
                       'create_by': 'admin',
                       'icon': 'edit',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 106,
                       'menu_name': '参数设置',
                       'menu_type': 'C',
                       'order_num': 7,
                       'parent_id': 1,
                       'path': 'config',
                       'perms': 'system:config:list',
                       'remark': '参数设置菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'system/notice/index',
                       'create_by': 'admin',
                       'icon': 'message',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 107,
                       'menu_name': '通知公告',
                       'menu_type': 'C',
                       'order_num': 8,
                       'parent_id': 1,
                       'path': 'notice',
                       'perms': 'system:notice:list',
                       'remark': '通知公告菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': 'log',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 108,
                       'menu_name': '日志管理',
                       'menu_type': 'M',
                       'order_num': 9,
                       'parent_id': 1,
                       'path': 'log',
                       'perms': '',
                       'remark': '日志管理菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'monitor/online/index',
                       'create_by': 'admin',
                       'icon': 'online',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 109,
                       'menu_name': '在线用户',
                       'menu_type': 'C',
                       'order_num': 1,
                       'parent_id': 2,
                       'path': 'online',
                       'perms': 'monitor:online:list',
                       'remark': '在线用户菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'monitor/job/index',
                       'create_by': 'admin',
                       'icon': 'job',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 110,
                       'menu_name': '定时任务',
                       'menu_type': 'C',
                       'order_num': 2,
                       'parent_id': 2,
                       'path': 'job',
                       'perms': 'monitor:job:list',
                       'remark': '定时任务菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'monitor/druid/index',
                       'create_by': 'admin',
                       'icon': 'druid',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 111,
                       'menu_name': '数据监控',
                       'menu_type': 'C',
                       'order_num': 3,
                       'parent_id': 2,
                       'path': 'druid',
                       'perms': 'monitor:druid:list',
                       'remark': '数据监控菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'monitor/server/index',
                       'create_by': 'admin',
                       'icon': 'server',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 112,
                       'menu_name': '服务监控',
                       'menu_type': 'C',
                       'order_num': 4,
                       'parent_id': 2,
                       'path': 'server',
                       'perms': 'monitor:server:list',
                       'remark': '服务监控菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'monitor/cache/index',
                       'create_by': 'admin',
                       'icon': 'redis',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 113,
                       'menu_name': '缓存监控',
                       'menu_type': 'C',
                       'order_num': 5,
                       'parent_id': 2,
                       'path': 'cache',
                       'perms': 'monitor:cache:list',
                       'remark': '缓存监控菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'tool/build/index',
                       'create_by': 'admin',
                       'icon': 'build',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 114,
                       'menu_name': '表单构建',
                       'menu_type': 'C',
                       'order_num': 1,
                       'parent_id': 3,
                       'path': 'build',
                       'perms': 'tool:build:list',
                       'remark': '表单构建菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'tool/gen/index',
                       'create_by': 'admin',
                       'icon': 'code',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 115,
                       'menu_name': '代码生成',
                       'menu_type': 'C',
                       'order_num': 2,
                       'parent_id': 3,
                       'path': 'gen',
                       'perms': 'tool:gen:list',
                       'remark': '代码生成菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'tool/swagger/index',
                       'create_by': 'admin',
                       'icon': 'swagger',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 116,
                       'menu_name': '系统接口',
                       'menu_type': 'C',
                       'order_num': 3,
                       'parent_id': 3,
                       'path': 'swagger',
                       'perms': 'tool:swagger:list',
                       'remark': '系统接口菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'monitor/operlog/index',
                       'create_by': 'admin',
                       'icon': 'form',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 500,
                       'menu_name': '操作日志',
                       'menu_type': 'C',
                       'order_num': 1,
                       'parent_id': 108,
                       'path': 'operlog',
                       'perms': 'monitor:operlog:list',
                       'remark': '操作日志菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': 'monitor/logininfor/index',
                       'create_by': 'admin',
                       'icon': 'logininfor',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 501,
                       'menu_name': '登录日志',
                       'menu_type': 'C',
                       'order_num': 2,
                       'parent_id': 108,
                       'path': 'logininfor',
                       'perms': 'monitor:logininfor:list',
                       'remark': '登录日志菜单',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1001,
                       'menu_name': '用户查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 100,
                       'path': '',
                       'perms': 'system:user:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1002,
                       'menu_name': '用户新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 100,
                       'path': '',
                       'perms': 'system:user:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1003,
                       'menu_name': '用户修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 100,
                       'path': '',
                       'perms': 'system:user:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1004,
                       'menu_name': '用户删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 100,
                       'path': '',
                       'perms': 'system:user:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1005,
                       'menu_name': '用户导出',
                       'menu_type': 'F',
                       'order_num': 5,
                       'parent_id': 100,
                       'path': '',
                       'perms': 'system:user:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1006,
                       'menu_name': '用户导入',
                       'menu_type': 'F',
                       'order_num': 6,
                       'parent_id': 100,
                       'path': '',
                       'perms': 'system:user:import',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1007,
                       'menu_name': '重置密码',
                       'menu_type': 'F',
                       'order_num': 7,
                       'parent_id': 100,
                       'path': '',
                       'perms': 'system:user:resetPwd',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1008,
                       'menu_name': '角色查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 101,
                       'path': '',
                       'perms': 'system:role:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1009,
                       'menu_name': '角色新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 101,
                       'path': '',
                       'perms': 'system:role:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1010,
                       'menu_name': '角色修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 101,
                       'path': '',
                       'perms': 'system:role:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1011,
                       'menu_name': '角色删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 101,
                       'path': '',
                       'perms': 'system:role:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1012,
                       'menu_name': '角色导出',
                       'menu_type': 'F',
                       'order_num': 5,
                       'parent_id': 101,
                       'path': '',
                       'perms': 'system:role:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1013,
                       'menu_name': '菜单查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 102,
                       'path': '',
                       'perms': 'system:menu:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1014,
                       'menu_name': '菜单新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 102,
                       'path': '',
                       'perms': 'system:menu:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1015,
                       'menu_name': '菜单修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 102,
                       'path': '',
                       'perms': 'system:menu:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1016,
                       'menu_name': '菜单删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 102,
                       'path': '',
                       'perms': 'system:menu:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1017,
                       'menu_name': '部门查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 103,
                       'path': '',
                       'perms': 'system:dept:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1018,
                       'menu_name': '部门新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 103,
                       'path': '',
                       'perms': 'system:dept:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1019,
                       'menu_name': '部门修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 103,
                       'path': '',
                       'perms': 'system:dept:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1020,
                       'menu_name': '部门删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 103,
                       'path': '',
                       'perms': 'system:dept:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1021,
                       'menu_name': '岗位查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 104,
                       'path': '',
                       'perms': 'system:post:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1022,
                       'menu_name': '岗位新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 104,
                       'path': '',
                       'perms': 'system:post:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1023,
                       'menu_name': '岗位修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 104,
                       'path': '',
                       'perms': 'system:post:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1024,
                       'menu_name': '岗位删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 104,
                       'path': '',
                       'perms': 'system:post:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1025,
                       'menu_name': '岗位导出',
                       'menu_type': 'F',
                       'order_num': 5,
                       'parent_id': 104,
                       'path': '',
                       'perms': 'system:post:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1026,
                       'menu_name': '字典查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 105,
                       'path': '#',
                       'perms': 'system:dict:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1027,
                       'menu_name': '字典新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 105,
                       'path': '#',
                       'perms': 'system:dict:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1028,
                       'menu_name': '字典修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 105,
                       'path': '#',
                       'perms': 'system:dict:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1029,
                       'menu_name': '字典删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 105,
                       'path': '#',
                       'perms': 'system:dict:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1030,
                       'menu_name': '字典导出',
                       'menu_type': 'F',
                       'order_num': 5,
                       'parent_id': 105,
                       'path': '#',
                       'perms': 'system:dict:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1031,
                       'menu_name': '参数查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 106,
                       'path': '#',
                       'perms': 'system:config:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1032,
                       'menu_name': '参数新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 106,
                       'path': '#',
                       'perms': 'system:config:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1033,
                       'menu_name': '参数修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 106,
                       'path': '#',
                       'perms': 'system:config:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1034,
                       'menu_name': '参数删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 106,
                       'path': '#',
                       'perms': 'system:config:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1035,
                       'menu_name': '参数导出',
                       'menu_type': 'F',
                       'order_num': 5,
                       'parent_id': 106,
                       'path': '#',
                       'perms': 'system:config:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1036,
                       'menu_name': '公告查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 107,
                       'path': '#',
                       'perms': 'system:notice:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1037,
                       'menu_name': '公告新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 107,
                       'path': '#',
                       'perms': 'system:notice:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1038,
                       'menu_name': '公告修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 107,
                       'path': '#',
                       'perms': 'system:notice:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1039,
                       'menu_name': '公告删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 107,
                       'path': '#',
                       'perms': 'system:notice:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1040,
                       'menu_name': '操作查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 500,
                       'path': '#',
                       'perms': 'monitor:operlog:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1041,
                       'menu_name': '操作删除',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 500,
                       'path': '#',
                       'perms': 'monitor:operlog:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1042,
                       'menu_name': '日志导出',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 500,
                       'path': '#',
                       'perms': 'monitor:operlog:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1043,
                       'menu_name': '登录查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 501,
                       'path': '#',
                       'perms': 'monitor:logininfor:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1044,
                       'menu_name': '登录删除',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 501,
                       'path': '#',
                       'perms': 'monitor:logininfor:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1045,
                       'menu_name': '日志导出',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 501,
                       'path': '#',
                       'perms': 'monitor:logininfor:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1046,
                       'menu_name': '在线查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 109,
                       'path': '#',
                       'perms': 'monitor:online:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1047,
                       'menu_name': '批量强退',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 109,
                       'path': '#',
                       'perms': 'monitor:online:batchLogout',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1048,
                       'menu_name': '单条强退',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 109,
                       'path': '#',
                       'perms': 'monitor:online:forceLogout',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1049,
                       'menu_name': '任务查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 110,
                       'path': '#',
                       'perms': 'monitor:job:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1050,
                       'menu_name': '任务新增',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 110,
                       'path': '#',
                       'perms': 'monitor:job:add',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1051,
                       'menu_name': '任务修改',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 110,
                       'path': '#',
                       'perms': 'monitor:job:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1052,
                       'menu_name': '任务删除',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 110,
                       'path': '#',
                       'perms': 'monitor:job:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1053,
                       'menu_name': '状态修改',
                       'menu_type': 'F',
                       'order_num': 5,
                       'parent_id': 110,
                       'path': '#',
                       'perms': 'monitor:job:changeStatus',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1054,
                       'menu_name': '任务导出',
                       'menu_type': 'F',
                       'order_num': 7,
                       'parent_id': 110,
                       'path': '#',
                       'perms': 'monitor:job:export',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1055,
                       'menu_name': '生成查询',
                       'menu_type': 'F',
                       'order_num': 1,
                       'parent_id': 115,
                       'path': '#',
                       'perms': 'tool:gen:query',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1056,
                       'menu_name': '生成修改',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 115,
                       'path': '#',
                       'perms': 'tool:gen:edit',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1057,
                       'menu_name': '生成删除',
                       'menu_type': 'F',
                       'order_num': 3,
                       'parent_id': 115,
                       'path': '#',
                       'perms': 'tool:gen:remove',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1058,
                       'menu_name': '导入代码',
                       'menu_type': 'F',
                       'order_num': 2,
                       'parent_id': 115,
                       'path': '#',
                       'perms': 'tool:gen:import',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1059,
                       'menu_name': '预览代码',
                       'menu_type': 'F',
                       'order_num': 4,
                       'parent_id': 115,
                       'path': '#',
                       'perms': 'tool:gen:preview',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'},
                      {'component': '',
                       'create_by': 'admin',
                       'icon': '#',
                       'is_cache': 0,
                       'is_frame': 1,
                       'menu_id': 1060,
                       'menu_name': '生成代码',
                       'menu_type': 'F',
                       'order_num': 5,
                       'parent_id': 115,
                       'path': '#',
                       'perms': 'tool:gen:code',
                       'remark': '',
                       'status': '0',
                       'update_by': '',
                       'visible': '0'}]
    db.session.add_all([SysMenu(**item) for item in init_menu_data])
    click.echo("created SysMenu Success")

    click.echo("create SysDept")
    init_dept_data = [
        {
            "dept_id": 100,
            "parent_id": 0,
            "ancestors": "0",
            "dept_name": "科技公司",
            "order_num": 0,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 101,
            "parent_id": 100,
            "ancestors": "0,100",
            "dept_name": "武汉总公司",
            "order_num": 1,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 102,
            "parent_id": 100,
            "ancestors": "0,100",
            "dept_name": "深圳分公司",
            "order_num": 2,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 103,
            "parent_id": 101,
            "ancestors": "0,100,101",
            "dept_name": "研发部门",
            "order_num": 1,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 104,
            "parent_id": 101,
            "ancestors": "0,100,101",
            "dept_name": "市场部门",
            "order_num": 2,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 105,
            "parent_id": 101,
            "ancestors": "0,100,101",
            "dept_name": "测试部门",
            "order_num": 3,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 106,
            "parent_id": 101,
            "ancestors": "0,100,101",
            "dept_name": "财务部门",
            "order_num": 4,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 107,
            "parent_id": 101,
            "ancestors": "0,100,101",
            "dept_name": "运维部门",
            "order_num": 5,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 108,
            "parent_id": 102,
            "ancestors": "0,100,102",
            "dept_name": "市场部门",
            "order_num": 1,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
        {
            "dept_id": 109,
            "parent_id": 102,
            "ancestors": "0,100,102",
            "dept_name": "财务部门",
            "order_num": 1,
            "leader": "宏建",
            "phone": "15888888888",
            "email": "15888888888@163.com",
            "status": "0",
            "del_flag": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
        },
    ]
    db.session.add_all([SysDept(**item) for item in init_dept_data])

    click.echo("created SysDept Success")

    click.echo("create SysDept")
    init_post_data = [
        {
            "post_id": 1,
            "post_code": "ceo",
            "post_name": "董事长",
            "post_sort": 1,
            "status": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
            "remark": "董事长"
        },
        {
            "post_id": 2,
            "post_code": "se",
            "post_name": "项目经理",
            "post_sort": 2,
            "status": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
            "remark": "项目经理"
        },
        {
            "post_id": 3,
            "post_code": "se",
            "post_name": "人力资源",
            "post_sort": 3,
            "status": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
            "remark": "人力资源"
        },
        {
            "post_id": 4,
            "post_code": "user",
            "post_name": "普通员工",
            "post_sort": 4,
            "status": "0",
            "create_by": "admin",
            "create_time": datetime.now(),
            "update_by": "admin",
            "update_time": datetime.now(),
            "remark": "普通员工"
        }
    ]
    db.session.add_all([SysPost(**item) for item in init_post_data])
    click.echo("created SysPost Success")

    click.echo("create SysUser")
    sys_user_admin = SysUser(
        user_id=1,
        dept_id=103,
        user_name="admin",
        nick_name="宏建",
        user_type="00",
        email="f15827325743@163.com",
        phonenumber="15827320000",
        sex="0",
        avatar="0",
        password="$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2",
        status="0",
        del_flag="0",
        login_ip="127.0.0.1",
        login_date=datetime.now(),
        create_by="admin",
        create_time=datetime.now(),
        update_by="admin",
        update_time=datetime.now(),
        remark="管理员"
    )

    sys_user_test = SysUser(
        user_id=2,
        dept_id=103,
        user_name="fhj",
        nick_name="宏建",
        user_type="00",
        email="f15827325743@163.com",
        phonenumber="15827320000",
        sex="0",
        avatar="0",
        password="$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2",
        status="0",
        del_flag="0",
        login_ip="127.0.0.1",
        login_date=datetime.now(),
        create_by="admin",
        create_time=datetime.now(),
        update_by="admin",
        update_time=datetime.now(),
        remark="测试员"
    )
    db.session.add_all([sys_user_admin, sys_user_test])
    click.echo("created SysUser Success")
    click.echo("create SysRole")
    init_role_data = [
        {"role_id": 1,
         "role_name": "超级管理员",
         "role_key": "admin",
         "role_sort": 1,
         "data_scope": "1",
         "menu_check_strictly": "1",
         "dept_check_strictly": "1",
         "status": "0",
         "del_flag": "0",
         "create_by": "admin",
         "create_time": datetime.now(),
         "update_by": "admin",
         "update_time": datetime.now(),
         "remark": "超级管理员"
         },
        {"role_id": 2,
         "role_name": "普通角色",
         "role_key": "common",
         "role_sort": 2,
         "data_scope": "1",
         "menu_check_strictly": "1",
         "dept_check_strictly": "1",
         "status": "0",
         "del_flag": "0",
         "create_by": "admin",
         "create_time": datetime.now(),
         "update_by": "admin",
         "update_time": datetime.now(),
         "remark": "普通角色"
         },
    ]
    db.session.add_all([SysRole(**item) for item in init_role_data])

    click.echo("created SysRole Success")

    db.session.commit()
